package com.powernode.springmvc.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/user")
public class UserController {
    @RequestMapping("/detail")
    public String detail() {
        return "userDetail";
    }

    /**
     * ?，代表任意一个字符
     *
     * @return
     */
    @RequestMapping("/x?z/testValueAnt")
    public String antPath() {
        return "antPath";
    }

    /**
     * *，代表0到N个任意字符
     *
     * @return
     */
    @RequestMapping("/a*b/testValueAnt2")
    public String antPath2() {
        return "antPath2";
    }

    /**
     * **，代表0到N个任意字符，并且路径中可以出现路径分隔符 /
     * ** 通配符在使用时，左右不能出现字符，只能是 /
     * "/a**b/testValueAnt3"，这个写法，跟一个*的效果是一样的
     */
    //"/**/testValueAnt3"，想要这个写法，spring6必须要放在末尾，不能放在前面
    //也就是"/testValueAnt3/**"这个写法
    @RequestMapping("/a**b/testValueAnt3")
    public String antPath3() {
        return "antPath3";
    }

    @RequestMapping("/address/{province}/{city}/{street}")
    public String testRestfullUrl(@PathVariable("province") String province, @PathVariable("city") String city, @PathVariable("street") String street) {
        System.out.println(province + city + street);
        return "testRestfullUrl";
    }
}
